E11.5 (or E11?) mouse RPE
Run on 10x v3 platform
This is a trial run to determine whether Elan can process mouse tissue at this very early time point.
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✓ ggplot2 3.3.5 ✓ purrr 0.3.4
## ✓ tibble 3.1.6 ✓ dplyr 1.0.7
## ✓ tidyr 1.1.4 ✓ stringr 1.4.0
## ✓ readr 2.0.2 ✓ forcats 0.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(Seurat)
## Registered S3 method overwritten by 'spatstat.geom':
## method from
## print.boxx cli
## Attaching SeuratObject
seurat.data <- Read10X(data.dir = '~/data/sc_mouse_OFC_e11/aggr/outs/count/filtered_feature_bc_matrix')
seurat <- CreateSeuratObject(counts = seurat.data, project = "e11_mouse_eye_cup", min.cells = 3, min.features = 200)
seurat[["percent.mt"]] <- PercentageFeatureSet(seurat, pattern = "^mt-")
seurat@meta.data$replicate <- str_extract(colnames(seurat), '\\d')
seurat@meta.data$orig.ident <- paste0(seurat@meta.data$orig.ident, '__', seurat@meta.data$replicate)
Idents(seurat) <- seurat@meta.data$orig.ident
Many many more cells in rep4.
seurat@meta.data %>% group_by(orig.ident) %>% summarise(Count = n()) %>%
ggplot(aes(x=orig.ident,y=Count, label = Count)) + geom_bar(stat = 'identity') +
geom_text(position =position_nudge(y=200)) +
coord_flip() +
cowplot::theme_cowplot()
But …. everything looks fairly the same between all four replicates…. so let’s just keep it all for now? There’s a larger size range in rep 4 of number of unique genes (nFeature_RNA) captured for some reason.
VlnPlot(seurat, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3, group.by = 'orig.ident')
# Filtering Remove cells with percent.mt > 10%
seurat <- subset(seurat, subset = nFeature_RNA > 200 & percent.mt < 10)
seurat@meta.data %>% group_by(orig.ident) %>% summarise(Count = n()) %>%
ggplot(aes(x=orig.ident,y=Count, label = Count)) + geom_bar(stat = 'identity') +
geom_text(position =position_nudge(y=200)) +
coord_flip() +
cowplot::theme_cowplot()
# PCA
seurat <- NormalizeData(seurat, normalization.method = "LogNormalize", scale.factor = 10000)
seurat <- FindVariableFeatures(seurat, selection.method = "vst", nfeatures = 2000)
all.genes <- rownames(seurat)
seurat <- ScaleData(seurat, features = all.genes)
## Centering and scaling data matrix
seurat <- RunPCA(seurat, features = VariableFeatures(object = seurat), npcs = 50)
## PC_ 1
## Positive: Dct, Gpnmb, Pmel, Tyr, Tyrp1, Bace2, Slc7a8, Krt18, Rlbp1, Trpm1
## Mitf, Mgll, Tspan10, Slc38a8, Oca2, Slc4a5, Gabrb3, Zdhhc2, Rab27a, S100a1
## Clu, Bdh2, Slc45a2, Uap1l1, Gmpr, Slc11a1, Spon1, Inmt, Ankrd44, Otx2
## Negative: Hmga2, Ccnd1, Pclaf, Rrm2, H19, Igfbp4, Tmsb4x, Fn1, Crabp1, Top2a
## Cdca8, Smc4, Vcan, Cks2, H2afx, Tubb4b, Mki67, Tubb2b, Zfhx4, Uhrf1
## Crym, Cenpa, Scube1, Twist1, Ccna2, Foxc1, Cenpf, Pitx2, Tpx2, Hist1h1b
## PC_ 2
## Positive: Pax6, Six6, Lhx2, Sfrp2, Six3, Six3os1, Mab21l2, Ptn, Sox2, Col9a1
## Rax, Fign, Meis1, Syt11, Necab2, Zic1, Zic5, Car14, Hmx1, Rmst
## Rorb, Vsx2, Nr2f1, Dkk3, Cdon, Trpm3, Fzd5, Map7, Dapl1, Fgf15
## Negative: Lcp1, Fxyd5, Mef2c, Klhl6, Gmfg, Stab1, Cd34, Rasgrp3, Gngt2, Tgfb1
## Pecam1, Ptpn18, Vsir, Tgfbr2, Emcn, Cdh5, Cd93, Plxnd1, Hhex, Laptm5
## Abi3, Inpp5d, Col15a1, Smagp, Esam, Ecscr, Arhgdib, Icam1, Eng, Flt1
## PC_ 3
## Positive: Ckb, Six6, Pou2f2, Sox2, Six3, Six3os1, Rax, Sfrp2, Pax6, Lhx2
## Zic5, Vsx2, Hmx1, Fzd5, Zic1, Emb, Meis1, Ikzf1, Rac2, Syt11
## Rmst, Rorb, Dkk3, C1qb, Coro1a, Dapl1, Tyrobp, Fgf15, C1qc, Cx3cr1
## Negative: Foxc1, Prrx1, Cald1, Clmp, Crym, Irx3, Rarb, Igf1, Col3a1, Ddr2
## Hmcn1, Foxc2, Parm1, Pitx2, Lum, Dkk2, Twist1, Col1a2, Lhfpl2, Rspo1
## Irx5, Pdgfra, Cped1, Mfap4, Col26a1, Cxcl12, Fgfr2, Foxp2, Irx1, Pdgfrb
## PC_ 4
## Positive: Ikzf1, Ncf4, Blvrb, Mt1, Fth1, Acp5, Slc4a1, Gypa, Hba-a2, Alas2
## Rhd, Lgals1, Hemgn, Hba-a1, Ermap, Rhag, Hba-x, Hbb-y, Hbb-bt, Trim10
## Icam4, Hbb-bh1, Mt2, Kel, Sptb, Epb42, Prrx1, Cited4, Spta1, Car2
## Negative: Cdh5, Cd93, Esam, Flt1, Emcn, Tie1, Adgrf5, S100a16, Cldn5, Rasip1
## Col15a1, Pecam1, Sox18, Icam2, Aplnr, Ecscr, Cd34, Flt4, Vamp5, Crip2
## Eng, Plvap, She, Tek, Gimap6, Mmrn2, Sparcl1, Ramp2, Arhgef15, Tmem255a
## PC_ 5
## Positive: Tmsb4x, Hmga2, C1qb, Coro1a, Tyrobp, Cx3cr1, C1qc, C1qa, Fcer1g, Aif1
## Ly86, Ctss, Adgre1, Fcgr3, Cd52, Spi1, Ptprc, Nr2f1, Trem2, Unc93b1
## Mpeg1, Ncf1, Fyb, Cd53, Ly6e, Ncf2, Ptpn6, Pld4, Arhgap30, Ms4a6c
## Negative: Slc4a1, Alas2, Gypa, Rhd, Hemgn, Rhag, Car2, Icam4, Trim10, Acp5
## Ermap, Hbb-bh1, Hba-a1, Hbb-bt, Epb42, Hba-a2, Hba-x, Cited4, Kel, Hbb-y
## Spta1, Klf1, Sptb, Pdzk1ip1, Tal1, Cldn13, Slc25a37, Hbb-bs, Slc38a5, Mgst3
print(seurat[["pca"]], dims = 1:10, nfeatures = 10)
## PC_ 1
## Positive: Dct, Gpnmb, Pmel, Tyr, Tyrp1, Bace2, Slc7a8, Krt18, Rlbp1, Trpm1
## Negative: Hmga2, Ccnd1, Pclaf, Rrm2, H19, Igfbp4, Tmsb4x, Fn1, Crabp1, Top2a
## PC_ 2
## Positive: Pax6, Six6, Lhx2, Sfrp2, Six3, Six3os1, Mab21l2, Ptn, Sox2, Col9a1
## Negative: Lcp1, Fxyd5, Mef2c, Klhl6, Gmfg, Stab1, Cd34, Rasgrp3, Gngt2, Tgfb1
## PC_ 3
## Positive: Ckb, Six6, Pou2f2, Sox2, Six3, Six3os1, Rax, Sfrp2, Pax6, Lhx2
## Negative: Foxc1, Prrx1, Cald1, Clmp, Crym, Irx3, Rarb, Igf1, Col3a1, Ddr2
## PC_ 4
## Positive: Ikzf1, Ncf4, Blvrb, Mt1, Fth1, Acp5, Slc4a1, Gypa, Hba-a2, Alas2
## Negative: Cdh5, Cd93, Esam, Flt1, Emcn, Tie1, Adgrf5, S100a16, Cldn5, Rasip1
## PC_ 5
## Positive: Tmsb4x, Hmga2, C1qb, Coro1a, Tyrobp, Cx3cr1, C1qc, C1qa, Fcer1g, Aif1
## Negative: Slc4a1, Alas2, Gypa, Rhd, Hemgn, Rhag, Car2, Icam4, Trim10, Acp5
## PC_ 6
## Positive: Rbp1, Vim, Col9a1, Foxp2, Tgfb2, Ccnd1, Mfap4, Lhx2, Prrx1, Meg3
## Negative: Wnt4, Wnt6, Perp, Fermt1, Sfn, Esrp1, Trp63, Cldn6, Cdh1, Barx2
## PC_ 7
## Positive: Ccnd2, Ung, Cp, Smoc1, Slitrk1, Ccnd1, Miat, Pax2, Cdkn1c, Nnat
## Negative: Cenpf, Prc1, Ube2c, Top2a, Nusap1, Cenpe, Hmmr, Cks2, Kif11, Ccnb1
## PC_ 8
## Positive: Pax2, Vax1, Bmpr1b, Smoc1, Ntn1, Fzd8, Cp, Slitrk1, Adamts16, Nr2f1
## Negative: Rbp1, Tbx2, Dapl1, Rax, Id1, Ldha, Wfdc1, Unc5b, Jag1, Sfrp2
## PC_ 9
## Positive: Cenpa, Aldh1a3, Ccnb2, Cdca3, Tubb4b, Trpm1, H2afx, Ube2c, Cks2, AY036118
## Negative: Kcnq1ot1, Map1b, Epha5, Vcan, Sptbn1, Ncam1, Ank2, Itm2a, Abca5, Prss23
## PC_ 10
## Positive: Filip1, Adamts9, Hcn1, Akap13, Tbx20, Fam171b, Gja1, Dazl, Mab21l2, H19
## Negative: Col4a4, Crabp1, Gm534, Gm33489, Insm1, Ttr, Espn, Vit, Olfm1, Col8a1
DimPlot(seurat, reduction = "pca")
# Heatmaps by PC
DimHeatmap(seurat, dims = 1:30, cells = 500, balanced = TRUE)
# Jackstraw plot
Goal is to roughly figure out how many Principal Components (from PCA) to use downstream. I picked 20.
seurat <- JackStraw(seurat, num.replicate = 100, dims = 50)
seurat <- ScoreJackStraw(seurat, dims = 1:50)
JackStrawPlot(seurat, dims = 1:50)
## Warning: Removed 74068 rows containing missing values (geom_point).
ElbowPlot(seurat, ndims = 50)
# Clustering and get markers for each cluster
seurat <- FindNeighbors(seurat, dims = 1:20)
## Computing nearest neighbor graph
## Computing SNN
seurat <- FindClusters(seurat, resolution = 0.5)
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 4034
## Number of edges: 119026
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.8926
## Number of communities: 12
## Elapsed time: 0 seconds
seurat <- RunUMAP(seurat, dims = 1:20)
## Warning: The default method for RunUMAP has changed from calling Python UMAP via reticulate to the R-native UWOT using the cosine metric
## To use Python UMAP via reticulate, set umap.method to 'umap-learn' and metric to 'correlation'
## This message will be shown once per session
## 13:47:23 UMAP embedding parameters a = 0.9922 b = 1.112
## 13:47:23 Read 4034 rows and found 20 numeric columns
## 13:47:23 Using Annoy for neighbor search, n_neighbors = 30
## 13:47:23 Building Annoy index with metric = cosine, n_trees = 50
## 0% 10 20 30 40 50 60 70 80 90 100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 13:47:24 Writing NN index file to temp file /var/folders/s4/y5f1tt296dj8088gvczcx11d4lrnr7/T//RtmpXS9RWv/file15416691101d1
## 13:47:24 Searching Annoy index using 1 thread, search_k = 3000
## 13:47:25 Annoy recall = 100%
## 13:47:25 Commencing smooth kNN distance calibration using 1 thread
## 13:47:26 Initializing from normalized Laplacian + noise
## 13:47:26 Commencing optimization for 500 epochs, with 154014 positive edges
## 13:47:30 Optimization finished
DimPlot(seurat, reduction = "umap")
seurat.markers <- list()
for (i in seurat@meta.data$seurat_clusters %>% unique()){
seurat.markers[[i]] <- FindMarkers(seurat, ident.1 = i, only.pos = TRUE, logfc.threshold = 0.5)
}
As the previous analysis essentially had clusters by cell phase, which is of less interest
s.genes <- cc.genes$s.genes
g2m.genes <- cc.genes$g2m.genes
m.s.genes <-s.genes %>% str_to_title()
m.g2m.genes <- g2m.genes %>% str_to_title()
seurat <- CellCycleScoring(seurat, s.features = m.s.genes, g2m.features = m.g2m.genes)
## Warning: The following features are not present in the object: Mlf1ip, not
## searching for symbol synonyms
## Warning: The following features are not present in the object: Fam64a, Hn1, not
## searching for symbol synonyms
DimPlot(seurat, group.by = 'Phase')
seurat$CC.Difference <- seurat$S.Score - seurat$G2M.Score
options(future.globals.maxSize = 8000 * 1024^2)
seuratCC <- ScaleData(seurat, vars.to.regress = "CC.Difference", features = rownames(seurat))
## Regressing out CC.Difference
## Centering and scaling data matrix
seuratCC <- RunPCA(seuratCC, features = VariableFeatures(object = seuratCC), npcs = 50)
## PC_ 1
## Positive: Dct, Pmel, Gpnmb, Tyr, Tyrp1, Bace2, Slc7a8, Krt18, Rlbp1, Trpm1
## Mgll, Mitf, Tspan10, Slc38a8, Oca2, Slc4a5, Gabrb3, Zdhhc2, Rab27a, S100a1
## Clu, Bdh2, Uap1l1, Slc45a2, Gmpr, Slc11a1, Spon1, Inmt, Ankrd44, Ugcg
## Negative: Hmga2, Ccnd1, Rrm2, Pclaf, Cks2, H19, Cdca8, Igfbp4, Tmsb4x, Uhrf1
## Crabp1, Top2a, Fn1, H2afx, Cenpf, Smc4, Vcan, Ube2c, Tubb4b, Mki67
## Cenpa, Tpx2, Pcna, Tubb2b, Zfhx4, Dtl, Ccna2, Crym, Cdca3, Scube1
## PC_ 2
## Positive: Pax6, Lhx2, Six6, Sfrp2, Six3, Mab21l2, Six3os1, Ptn, Sox2, Col9a1
## Rax, Fign, Meis1, Necab2, Syt11, Car14, Zic1, Zic5, Hmx1, Rmst
## Rorb, Nr2f1, Vsx2, Dkk3, Trpm3, Cdon, Map7, Fzd5, Dapl1, Fgf15
## Negative: Lcp1, Fxyd5, Mef2c, Klhl6, Gmfg, Stab1, Cd34, Rasgrp3, Gngt2, Tgfb1
## Pecam1, Ptpn18, Vsir, Tgfbr2, Emcn, Cdh5, Cd93, Plxnd1, Hhex, Laptm5
## Abi3, Inpp5d, Col15a1, Esam, Smagp, Ecscr, Arhgdib, Icam1, Eng, Flt1
## PC_ 3
## Positive: Ckb, Six6, Pou2f2, Six3, Sox2, Six3os1, Rax, Sfrp2, Pax6, Lhx2
## Zic5, Ikzf1, Vsx2, Hmx1, Fzd5, Zic1, Emb, Meis1, Rac2, Rmst
## Syt11, C1qb, Rorb, Coro1a, Dkk3, Tyrobp, C1qc, Fcer1g, Cx3cr1, Dapl1
## Negative: Foxc1, Prrx1, Cald1, Clmp, Crym, Irx3, Rarb, Igf1, Col3a1, Hmcn1
## Ddr2, Foxc2, Parm1, Lum, Pitx2, Dkk2, Col1a2, Twist1, Lhfpl2, Rspo1
## Irx5, Cped1, Mfap4, Pdgfra, Col26a1, Cxcl12, Foxp2, Fgfr2, Irx1, Pdgfrb
## PC_ 4
## Positive: Ncf4, Blvrb, Ikzf1, Mt1, Fth1, Acp5, Slc4a1, Gypa, Hba-a2, Alas2
## Rhd, Hemgn, Hba-a1, Hba-x, Hbb-y, Rhag, Ermap, Hbb-bt, Trim10, Icam4
## Hbb-bh1, Lgals1, Kel, Sptb, Mt2, Epb42, Spta1, Cited4, Car2, Klf1
## Negative: Cdh5, Cd93, Esam, Flt1, Emcn, Tie1, Adgrf5, S100a16, Cldn5, Rasip1
## Col15a1, Pecam1, Icam2, Sox18, Aplnr, Cd34, Ecscr, Flt4, Crip2, Eng
## Vamp5, She, Plvap, Tek, Mest, Gimap6, Mmrn2, Sparcl1, Arhgef15, Tmem255a
## PC_ 5
## Positive: Tmsb4x, C1qb, Tyrobp, Coro1a, Cx3cr1, C1qc, C1qa, Hmga2, Fcer1g, Aif1
## Ly86, Ctss, Adgre1, Fcgr3, Cd52, Spi1, Ptprc, Trem2, Unc93b1, Mpeg1
## Fyb, Ncf1, Cd53, Ncf2, Pld4, Ptpn6, Arhgap30, Csf1r, Ms4a6c, C3ar1
## Negative: Slc4a1, Alas2, Gypa, Rhd, Hemgn, Rhag, Car2, Icam4, Trim10, Hbb-bh1
## Acp5, Hba-a1, Ermap, Hbb-bt, Hba-x, Hba-a2, Epb42, Cited4, Kel, Hbb-y
## Spta1, Klf1, Sptb, Pdzk1ip1, Tal1, Cldn13, Slc25a37, Hbb-bs, Slc38a5, Mgst3
DimPlot(seuratCC, reduction = "pca")
seuratCC <- FindNeighbors(seuratCC, dims = 1:20)
## Computing nearest neighbor graph
## Computing SNN
seuratCC <- FindClusters(seuratCC, resolution = 0.5)
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 4034
## Number of edges: 122396
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.8868
## Number of communities: 14
## Elapsed time: 0 seconds
seuratCC <- RunUMAP(seuratCC, dims = 1:20)
## 14:45:10 UMAP embedding parameters a = 0.9922 b = 1.112
## 14:45:10 Read 4034 rows and found 20 numeric columns
## 14:45:10 Using Annoy for neighbor search, n_neighbors = 30
## 14:45:10 Building Annoy index with metric = cosine, n_trees = 50
## 0% 10 20 30 40 50 60 70 80 90 100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 14:45:11 Writing NN index file to temp file /var/folders/s4/y5f1tt296dj8088gvczcx11d4lrnr7/T//RtmpXS9RWv/file1541665f408cb
## 14:45:11 Searching Annoy index using 1 thread, search_k = 3000
## 14:45:11 Annoy recall = 100%
## 14:45:12 Commencing smooth kNN distance calibration using 1 thread
## 14:45:12 Initializing from normalized Laplacian + noise
## 14:45:12 Commencing optimization for 500 epochs, with 155152 positive edges
## 14:45:17 Optimization finished
DimPlot(seuratCC, reduction = "umap")
DimPlot(seuratCC, reduction = "umap", group.by = 'Phase')
seurat.markersCC <- list()
for (i in seuratCC@meta.data$seurat_clusters %>% unique()){
seurat.markersCC[[i]] <- FindMarkers(seuratCC, ident.1 = i, only.pos = TRUE, logfc.threshold = 0.5)
}
save(seurat.markers, seurat, seurat.markersCC, seuratCC, file = '../data/00_process_output.Rdata')
sessionInfo()
## R version 4.1.2 (2021-11-01)
## Platform: x86_64-apple-darwin17.0 (64-bit)
## Running under: macOS Catalina 10.15.7
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] SeuratObject_4.0.4 Seurat_4.0.6 forcats_0.5.1 stringr_1.4.0
## [5] dplyr_1.0.7 purrr_0.3.4 readr_2.0.2 tidyr_1.1.4
## [9] tibble_3.1.6 ggplot2_3.3.5 tidyverse_1.3.1 rmarkdown_2.11
##
## loaded via a namespace (and not attached):
## [1] Rtsne_0.15 colorspace_2.0-2 deldir_1.0-6
## [4] ellipsis_0.3.2 ggridges_0.5.3 fs_1.5.0
## [7] spatstat.data_2.1-2 rstudioapi_0.13 farver_2.1.0
## [10] leiden_0.3.9 listenv_0.8.0 ggrepel_0.9.1
## [13] RSpectra_0.16-0 fansi_0.5.0 lubridate_1.8.0
## [16] xml2_1.3.2 codetools_0.2-18 splines_4.1.2
## [19] knitr_1.36 polyclip_1.10-0 jsonlite_1.7.2
## [22] broom_0.7.10 ica_1.0-2 cluster_2.1.2
## [25] dbplyr_2.1.1 png_0.1-7 uwot_0.1.11
## [28] spatstat.sparse_2.1-0 sctransform_0.3.3 shiny_1.7.1
## [31] compiler_4.1.2 httr_1.4.2 backports_1.3.0
## [34] lazyeval_0.2.2 assertthat_0.2.1 Matrix_1.3-4
## [37] fastmap_1.1.0 limma_3.50.0 cli_3.1.0
## [40] later_1.3.0 htmltools_0.5.2 tools_4.1.2
## [43] igraph_1.2.8 gtable_0.3.0 glue_1.5.0
## [46] reshape2_1.4.4 RANN_2.6.1 Rcpp_1.0.7
## [49] scattermore_0.7 cellranger_1.1.0 jquerylib_0.1.4
## [52] vctrs_0.3.8 nlme_3.1-153 lmtest_0.9-39
## [55] xfun_0.28 globals_0.14.0 rvest_1.0.2
## [58] mime_0.12 miniUI_0.1.1.1 lifecycle_1.0.1
## [61] irlba_2.3.5 goftest_1.2-3 future_1.23.0
## [64] MASS_7.3-54 zoo_1.8-9 scales_1.1.1
## [67] spatstat.core_2.3-2 spatstat.utils_2.3-0 hms_1.1.1
## [70] promises_1.2.0.1 parallel_4.1.2 RColorBrewer_1.1-2
## [73] yaml_2.2.1 gridExtra_2.3 reticulate_1.22
## [76] pbapply_1.5-0 sass_0.4.0 rpart_4.1-15
## [79] stringi_1.7.5 highr_0.9 rlang_0.4.12
## [82] pkgconfig_2.0.3 matrixStats_0.61.0 evaluate_0.14
## [85] lattice_0.20-45 tensor_1.5 ROCR_1.0-11
## [88] labeling_0.4.2 htmlwidgets_1.5.4 patchwork_1.1.1
## [91] cowplot_1.1.1 tidyselect_1.1.1 parallelly_1.30.0
## [94] RcppAnnoy_0.0.19 plyr_1.8.6 magrittr_2.0.1
## [97] R6_2.5.1 generics_0.1.1 DBI_1.1.1
## [100] mgcv_1.8-38 pillar_1.6.4 haven_2.4.3
## [103] withr_2.4.2 fitdistrplus_1.1-6 abind_1.4-5
## [106] survival_3.2-13 future.apply_1.8.1 modelr_0.1.8
## [109] crayon_1.4.2 KernSmooth_2.23-20 utf8_1.2.2
## [112] spatstat.geom_2.3-1 plotly_4.10.0 tzdb_0.2.0
## [115] grid_4.1.2 readxl_1.3.1 data.table_1.14.2
## [118] reprex_2.0.1 digest_0.6.28 xtable_1.8-4
## [121] httpuv_1.6.3 munsell_0.5.0 viridisLite_0.4.0
## [124] bslib_0.3.1